Next: 3.2.5 DS390 / DS400 Up: 3.2 Command Line Options Previous: 3.2.3 Linker Options Contents Index

##
3.2.4 MCS51 Options

- [--model-small] Generate code for Small model programs, see section Memory Models for more details. This is the default model.
- [--model-medium] Generate code for Medium model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker.
- [--model-large] Generate code for Large model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker.
- [--model-huge] Generate code for Huge model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker.
- [--xstack] Uses a pseudo stack in the pdata area (usually the first 256 bytes in the external ram) for allocating variables and passing parameters. See section 3.18.1.2 External Stack for more details.
- [--iram-size <Value>] Causes the linker to check if the internal ram usage is within limits of the given value.
- [--xram-size <Value>] Causes the linker to check if the external ram usage is within limits of the given value.
- [--code-size <Value>] Causes the linker to check if the code memory usage is within limits of the given value.
- [--stack-size <Value>] Causes the linker to check if there is at minimum <Value> bytes for stack.
- [--pack-iram ] Causes the linker to use unused register banks for data variables and pack data, idata and stack together. This is the default and this option will probably be removed along with the removal of --no-pack-iram.
- [--no-pack-iram (deprecated)] Causes the linker to use old style for allocating memory areas. This option is now deprecated and will be removed in future versions.
- [--acall-ajmp ] Replaces the three byte instructions lcall/ljmp with the two byte instructions acall/ajmp. Only use this option if your code is in the same 2k block of memory. You may need to use this option for some 8051 derivatives which lack the lcall/ljmp instructions..

Next: 3.2.5 DS390 / DS400 Up: 3.2 Command Line Options Previous: 3.2.3 Linker Options Contents Index